package com.leyou.common.exception;


import com.leyou.common.enums.ExceptionEnum;
import lombok.Data;
import lombok.Getter;

/*自定义异常处理类：需要继承RuntimeException:运行时异常，才能进行异常的处理
* 1.获取自定义的枚举类型的异常状态和异常信息
* 2.给RuntimeException赋值，让其不再进行抛出异常，程序停止运行
*定义异常类时通常需要提供两种构造器：
* 一个是无参数的构造器；
* 另一个是带一个字符串参数的构造器，这个字符串将作为该异常对象的详细说明（
* 也就是异常对象的getMessage方法的返回值）。
* */
public class LyException extends RuntimeException {

    /*覆盖父类的构造方法*/
    private int  status;


    public LyException(ExceptionEnum em) {
        super(em.getMessage());
        this.status = em.getStatus();
    }

    public LyException(ExceptionEnum em, Throwable cause) {
        super(em.getMessage(), cause);
        this.status = em.getStatus();
    }
    public LyException(Integer status,String message) {
        super(message);
        this.status = status;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }
}
